1. A : Type
2. x : A 3. y : A 4. P : A 5. i : 6. j : 7. bb : 8. (i =j) = bb 9. P(if (i =j) then x else y fi )
10. Type
11. (i =j) 12. bb:. ((i =j) = bb) Type
P(if (i =j) then x else y fi )
by (\p.let A = get_term_arg `A` p
bin let x = get_term_arg `x` p
binin let e = get_term_arg `e` p
bin
biAt (get_term_arg `UH` p)
bi(Subst
bi(Sub(
mk_equal_term
mk_equa(mk_set_term (dv x) A (mk_equal_term A e x))
mk_equae
mk_equax)